一邊要上課一邊還要寫這個不容易!
整個machine learning分成三個步驟
Data pre-processing
這部分包含資料匯入、去除雜值(讓資料比較標準化、或把空值補齊),以及將資料分為訓練組 (training set)及驗證組(test set),最後簡單介紹了資料標準化的做法(feature scaling)
modeling
包含建立模型、訓練模型、以及使用模型做預測
Evaluation
這塊就是要算預測的成效如何,會用一些指標計算出對應的分數,並用這些分數來評估模型的適切度(適切度越高當然就越適合拿來做預測囉)
講者大概簡單帶過,我看了一下後面的章節,幾乎每個modeling的方法(例如regression,SVM)都有解釋如何評估效度。
依我觀察,CSV 這種檔案格式似乎是最受machine learning 喜好的格式,畢竟資料處理是欄位式的儲存。講者也使用CSV 檔案作為demo資料的格式。
匯入資料後,接著要將資料分為訓練組及驗證組。一般是會把八成的資料拿來當成訓練組,兩成當成驗證組。資料裏頭可能包含多種內容,課程是用顧客的國家、年齡、年收、是否買車這四種資料來做案例,透過國家、年齡、年收來預測是否買車。講者的資料超級少,差不多20筆吧,不過他說對目前的案例就非常夠了,但我想真實需要幾筆可能還是要看使用的模型跟分析的情境。
不確定中文翻譯,也不想用'特徵縮放'這種看不懂的翻譯,所以保留原詞。Feature scaling 是種資料處理方式,讓不同特性的資料可以一起做運算及比較。例如年收跟年齡本身是兩種不同特性的資料。而Feature scaling也能夠讓我們能進行比較有效的分類,例如以下有三種人
| 人 | 年齡 | 年收 |
|---|---|---|
| 小藍 | 45 | 70000 |
| 小紫 | 44 | 60000 |
| 小紅 | 40 | 52000 |
小紫比較接近小藍還是小紅呢? 以年齡的角度來說,小紫比較接進小藍,但以收入來說,小紫比較接近小紅。這兩者本身又很難比較,我們無法把蘋果跟橘子一起進行評比。也因此、必須要用Feature scaling,讓不同的資料能放在同一種比較標準。以下有兩個方式
-Normalization
公式自己看XD 就是將變數減掉最小值再除以最大最小值差,處理過後的數值會介於0與1之間。
-Standardization
將變數減掉平均值除以標準差,處理過後的數值會介於-3與3之間。
我們再把剛剛的藍紫紅案例做Normalization,則會變成以下數值
| 人 | 年齡 | 年收 |
|---|---|---|
| 小藍 | 1 | 1 |
| 小紫 | 0.44 | 0.75 |
| 小紅 | 0 | 0 |
小紫跟小藍的差距是0.56+0.25, 而跟小紅的差距是0.44+0.75,也因此小紫跟小藍比較相近。
Day3 則是進行實作囉~